checksums.js ➔ mod11   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
nc 2
nop 1
dl 0
loc 9
cc 2
rs 9.6666
1
export function mod10(number){
2
	var sum = 0;
3
	for(var i = 0; i < number.length; i++){
4
		var n = parseInt(number[i]);
5
		if((i + number.length) % 2 === 0){
6
			sum += n;
7
		}
8
		else{
9
			sum += (n * 2) % 10 + Math.floor((n * 2) / 10);
10
		}
11
	}
12
	return (10 - (sum % 10)) % 10;
13
}
14
15
export function mod11(number){
16
	var sum = 0;
17
	var weights = [2, 3, 4, 5, 6, 7];
18
	for(var i = 0; i < number.length; i++){
19
		var n = parseInt(number[number.length - 1 - i]);
20
		sum += weights[i % weights.length] * n;
21
	}
22
	return (11 - (sum % 11)) % 11;
23
}
24